# cron: 16 27 8,11,14,17,20 * * *
# new Env("鱼儿阅读")
#   --------------------------------注释区--------------------------------
#   入口:微信打开 http://yyyeee848936.ceaj1map6rj.cn/yeipad?abf=jba&bor=hzd&cqq=uoa&ooa=yjw&pif=aem&upuid=3740151
#   走个头谢谢 不然没更新动力了呜呜呜
#
#   需抓取数据: 
#   * 填写自动过检的api接口 本地 内网ip:5000 非本地自行进行穿透 变量名:yuanshen_api
#   * 登录多少个账号就跑多少个账号
#   * 鉴于封号人数众多 此本提供白名单+黑名单功能 只能使用一个名单
#   * 白名单: 设置要跑的Wxid到环境变量 huaji_yuer_whitelist  多号#分割
#   * 黑名单: 设置要不跑的Wxid到环境变量 huaji_yuer_blacklist  多号#分割
#   * 注意两名单只能设置一个 同时设置z优先读取白名单 当然你可以都不设置这样什么号都会跑
#
# 下面是自定义变量设置(注意是修改对应的环境变量而不是改文件内容):
# huaji_yuer_withdrawal_money   默认0.3  提现阈值 单位是元
# huaji_yuer_Quantity_limit     默认150  阅读上限
# huaji_yuer_max_threads        默认1    最大线程数
#   --------------------------------一般不动区--------------------------------
#                     _ooOoo_
#                    o8888888o
#                    88" . "88
#                    (| -_- |)
#                     O\ = /O
#                 ____/`---'\____
#               .   ' \\| |// `.
#                / \\||| : |||// \
#              / _||||| -:- |||||- \
#                | | \\\ - /// | |
#              | \_| ''\---/'' | |
#               \ .-\__ `-` ___/-. /
#            ___`. .' /--.--\ `. . __
#         ."" '< `.___\_<|>_/___.' >'"".
#        | | : `- \`.;`\ _ /`;.`/ - ` : | |
#          \ \ `-. \_ __\ /__ _/ .-` / /
#  ======`-.____`-.___\_____/___.-`____.-'======
#                     `=---='
# 
#  .............................................
#           佛祖保佑             永无BUG
#           佛祖镇楼             BUG辟邪
#佛曰:  
#        写字楼里写字间，写字间里程序员；  
#        程序人员写程序，又拿程序换酒钱。  
#        酒醒只在网上坐，酒醉还来网下眠；  
#        酒醉酒醒日复日，网上网下年复年。  
#        但愿老死电脑间，不愿鞠躬老板前；  
#        奔驰宝马贵者趣，公交自行程序员。  
#        别人笑我忒疯癫，我笑自己命太贱；  
#        不见满街漂亮妹，哪个归得程序员？
#
#   --------------------------------代码区--------------------------------
import requests
import os
import sys
import platform
import subprocess
import importlib
import datetime
from urllib.parse import urlparse
import logging
import socket
logging.basicConfig(level=logging.INFO, format='[%(levelname)s] ===> %(message)s')
log = logging.getLogger(__name__)

THIS_Proxies = 'https://github.moeyy.xyz/'   # 网络不行就填Github代理 这里只给出一个要是不行就自己找 https://github.moeyy.xyz/

data = '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'
func = 'main'

GithubUrl = f"{THIS_Proxies.rstrip('/')}/https://raw.githubusercontent.com/huaji8/So_common/master/so" if THIS_Proxies else 'https://raw.githubusercontent.com/huaji8/So_common/master/so'
THIS_MODE = 'Huaji_SoLoader'
So_name = f'{THIS_MODE}.so'




def get_system_info() -> None:
    global Download_name
    python_version = f"{sys.version_info.major}.{sys.version_info.minor}.{sys.version_info.micro}"
    download_pyver = f'{sys.version_info.major}.{sys.version_info.minor}'
    processor_arch = platform.machine().replace('AMD64', 'x86_64').replace('x64', 'x86_64')
    system_name = platform.system()
    system_ver = platform.release() + " " + platform.version()
    system_arch = platform.architecture()[0]
    if system_name == "Darwin":
        system_name = "macOS"
        system_ver = platform.mac_ver()[0]
    elif system_name == "Windows":
        system_ver = f"{platform.release()} (Build {platform.win32_ver()[1]})"
    
    log.info(f"系统信息 [Python/{python_version}] [系统架构 {processor_arch}] [{system_name}/{system_ver} {system_arch}]")
    if download_pyver not in ['3.10','3.11','3.12']:
        log.error(f'当前Python版本不支持运行此脚本，请使用Python3.10或3.11或3.12运行此脚本,什么??你不重装,简单,删除本脚本然后睡觉觉就行了..')
        
    if processor_arch == 'x86_64' and system_name == 'Linux':
        Download_name = f'{THIS_MODE}_{download_pyver}_x64.so'
    elif processor_arch == 'aarch64' and system_name == 'Linux':
        Download_name = f'{THIS_MODE}_{download_pyver}_aarch64.so'
    else:
        Download_name = f'{THIS_MODE}_{download_pyver}_x64.so'
        
    if processor_arch not in ['x86_64', 'aarch64']:
        log.warning(f'当前系统架构大概率不支持运行此脚本,请使用x86_64或aarch64架构运行此脚本')
    elif 'Linux' not in system_name:
        log.error(f'当前系统不支持运行此脚本，请使用Linux运行此脚本')
    else:
        log.info('系统检测通过,开始运行脚本')
        return
    
    
    
    exit()



def download_file(save_path: str = None) -> bool:
    url =  GithubUrl + '/' + Download_name
    
    try:
        try:
            socket.create_connection(("www.github.com", 80), timeout=5)
            socket.create_connection(("www.github.com", 443), timeout=5)
        except (socket.timeout, socket.gaierror):
            log.warning("无法连接到Github,大概率下载是失败的,请检查网络或使用代理")

        if not save_path:
            file_name = os.path.basename(urlparse(url).path) or "downloaded_file"
            save_path = os.path.join(os.getcwd(), file_name)
        if os.path.exists(save_path) and os.path.getsize(save_path) == 0:
            os.remove(save_path)
        save_dir = os.path.dirname(save_path)
        os.makedirs(save_dir, exist_ok=True)
        curl_cmd = "curl.exe" if platform.system() == "Windows" else "curl"
        cmd = [
            curl_cmd,
            "-L", 
            "-f",
            "--silent",
            "--show-error",
            "-o", save_path,
            "-m","180",
            url
        ]

        result = subprocess.run(
            cmd,
            check=True,
            stdout=subprocess.PIPE,
            stderr=subprocess.PIPE,
            text=True
        )


        if not os.path.exists(save_path):
            log.error(f"下载文件不存在: {save_path}")
            return False
        if os.path.getsize(save_path) == 0:
            os.remove(save_path)
            log.error(f"下载文件为空: {save_path}")
            return False
        if result.returncode != 0:
            log.error(f"下载失败: {result.stderr.strip()}")
            return False
        log.info(f"文件下载成功: {save_path}")
        os.rename(Download_name, So_name)
        return True

    except subprocess.CalledProcessError as e:
        error_msg = f"下载失败: {e.stderr.strip()}" if e.stderr else "未知curl错误"
        log.error(error_msg)
        return False
    except Exception as e:
        log.error(f"下载异常: {str(e)}")
        return False
    
def dynamic_import(module_name: str) -> object:
    return importlib.import_module(module_name)

    
def Run() -> None:
    if os.path.exists(So_name):
        log.info('so文件存在,开始运行')
        print('='*30)
        obj = dynamic_import(THIS_MODE)
        obj.run(func, data)
    else:
        log.info('so文件不存在,开始下载')
        if download_file():
            Run()
        else:
            log.error('下载失败,请检查网络或使用代理')


if __name__ == '__main__':
    get_system_info()
    Run()
